/**
#######
数组 array  4种写法
     
1.使用默认的初始值来初始化数组中的每一个元素
语法： 数组元素类型[]数组名=new 数组元素类型[元素的个数(数组的长度)];
如 int[]=scores =new int [3];

2.先声明，然后再赋予默认的初始值
语法：数组元素类型[]数组名
	数组名=new 数组元素类型[元素个数（数组长度）];
如 int[]scores;
	scores=new int [3];
	
3.先声明，然后再使用指定的值进行初始化
语法：数组元素类型[]数组名=new数组元素类型[]{元素1，元素2};
如 int[]scores=new int [] {54,56,22};

4.第三种的简化
如：int []scores={11,22,33};

##########
array's length
每个数组都有一个默认属性  array.length
访问最有一个元素值    int lastestEle=scores[scores.length-1];

#########
遍历方式
1.for 使用 array.length
	int len =array.legth;
	for(int i=0;i<len;i++){
		System.out.print(array[i]+" ");
	}

2.foreach 使用 变量：数组名
语法：for（数组中元素的类型 变量:数组名){
	数组中元素的类型 临时变量:变量
	}
	for (int ele:array){
		System.out.print(ele+" ");
	}

#######
1.空指针异常
变量为null的时候 去调用 属性和长度 会出现 nullpointerexception 空指针异常
记得初始化0   而不是null
2.数组下标越界
超出范围 ArrayIndexOutOfBoundsException
######
数组  存堆空间  引用数据类型

*@author leo
*@company leo's company
*@description java_study
2024年1月31日下午7:17:50
Administrator
 */

/*
package com.leo.第三章_方法和数组;
import java.util.Scanner;
import java.util.Random;
@SuppressWarnings("unused")
public class U3_L5_11数组的定义 {

	public static void main(String[] args) {
		
		int[] array= new int[10];
		// TODO Auto-generated method stub
		//Scanner input=new Scanner(System.in);
		//System.out.println("enter an integer: ");
		//int usernum=input.nextInt();
		
		//System.out.println(guess(usernum));   //method 1.
		
		//System.out.println(random_guess(usernum));
		
		//avg();
		
		//int []random_array=random_array(array);
		//int max=max(random_array);
		//System.out.println(max);
		//int min=min(random_array);
		//System.out.println(min);
		
		
	}
	//1.数组猜数字
	//public static String guess(int usernum) {
	//	int []nums= {10,12,15,26,23,25};
	//	boolean flag=false;
	//	for(int ele:nums){
	//		if (usernum==ele) {
	//			flag=true;
	//			break;
	//		}
	//	}
	//	if(flag) {
	//		return "此数在数组里";
	//	}else {
	//		return "此数不在数组里";
	//	}
	//}

	
	//2.random猜数字
	//public static String random_guess(int usernum) {
	//	int [] nums=new int[10];
	//	int len=nums.length;
	//	Random r=new Random();
	//	for(int i=0;i<len;i++) {
	//		nums[i]=r.nextInt(50);
	//	}
	//	boolean flag=false;
	//	for(int ele:nums){
	//		if (usernum==ele) {
	//			flag=true;
	//			break;
	//		}
	//	}
	//	System.out.print("random array: [");
	//	for (int ele:nums) {
	//		System.out.print(ele+" ");
	//	}
	//	System.out.print("]");
	//	if(flag) {
	//		return "\nusernum: "+usernum+"\n此数在数组里";
	//	}else {
	//		return "\nusernum: "+usernum+"\n此数不在数组里";
	//	}
	//}

	
	//二维数组 3班3人 每班平均分
		//public static void avg() {
	//	int[][]scores= {{1,4,5},{22,33,44},{1,50,100}};
	//	int classlen=scores.length;
	//	for(int i=0;i<classlen;i++) {
	//		int sum=0;
	//		int count=scores[i].length;
	//		for(int j=0;j<count;j++) {
	//			sum+=scores[i][j];
	//		}
	//		int avg=sum/count;
	//		System.out.println("第"+(i+1)+"班的平均分是: "+avg);
	//	}		
	//}
	
	
	//random
	public static int[] random_array(int[]array) {
		Random r=new Random();
		int len=array.length;
		for(int i=0;i<len;i++) {
			array[i]=r.nextInt(10);
		}
		
		System.out.print("random method over:  [ ");
		for(int ele:array) {
			System.out.print(ele+" ");
		}
		System.out.println("]");
		return array;
	}
	
	//max
	public static int max(int []random_array) {
		
		int []cal_max_array=new int [10];
		int i=0;
		System.out.print("before:cal_max_array:[ ");
		for(int ele:random_array) {
			cal_max_array[i]=ele;
			i++;
			System.out.print( ele+" ");
		}
		System.out.println("]");
		
		int max=cal_max_array[0];
		int len=cal_max_array.length;
		System.out.println("begin max:"+max);
		for(int j=1;j<len;j++) {
			if(cal_max_array[j]>max) {
				cal_max_array[j]=cal_max_array[j]+max;
				max=cal_max_array[j]-max;
				cal_max_array[j]=cal_max_array[j]-max;
			}
		}
		System.out.print("after:cal_max_array: [ ");
		for(int ele:cal_max_array) {			
			System.out.print( ele+" ");
		}
		System.out.println("]"+"\nThe max number is: "+max);
		
		System.out.print("after:max_array:     [ ");
		for(int ele:random_array) {			
			System.out.print( ele+" ");
		}
		System.out.println("]");
		return max;
	}
	
	//min
	public static int min(int []random_array) {
		
		int []cal_min_array=new int [10];
		int i=0;
		System.out.print("before:cal_min_array:[ ");
		for(int ele:random_array) {
			cal_min_array[i]=ele;
			i++;
			System.out.print( ele+" ");
		}
		System.out.println("]");
		
		int min=cal_min_array[0];
		int len=cal_min_array.length;
		System.out.println("begin min:"+min);
		for(int j=1;j<len;j++) {
			if(cal_min_array[j]<min) {
				cal_min_array[j]=cal_min_array[j]+min;
				min=cal_min_array[j]-min;
				cal_min_array[j]=cal_min_array[j]-min;
			}
		}
		System.out.print("after:cal_min_array: [ ");
		for(int ele:cal_min_array) {			
			System.out.print( ele+" ");
		}
		System.out.println("]"+"\nThe min number is: "+min);
		
		System.out.print("after:random_array:  [ ");
		for(int ele:random_array) {			
			System.out.print( ele+" ");
		}
		System.out.println("]");
		return min;
	}	
}
*/



